home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _5010110E48DC4D6CB6BAD67AC8F381A3 < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.4 KB  |  39 lines

  1.       #include "../CGVPMacro.csi"
  2.  
  3.       MainInput { uniform sampler2D baseMap : texunit0,
  4.                   uniform sampler2D caustMap : texunit1,
  5.                   uniform sampler2D detMap0 : texunit2,
  6.                   uniform sampler2D detMap1 : texunit3,
  7.                   uniform float4 Ambient,
  8.                   uniform float4 DetMask0,
  9.                   uniform float4 DetMask1 }
  10.       DeclarationsScript
  11.       {
  12.         OUT_T0_T1_T2_T3_C0_C1
  13.         FOUT
  14.       }
  15.       CoreScript
  16.       {
  17.         // load the decal
  18.         float4 decalColor = tex2D(baseMap, IN.Tex0.xy);
  19.         // load the caust
  20.         float4 caustColor = tex2D(caustMap, IN.Tex1.xy);
  21.         // load the detail
  22.         float4 detColor0 = tex2D(detMap0, IN.Tex2.xy);
  23.         float4 detColor1 = tex2D(detMap1, IN.Tex3.xy);
  24.         
  25.         float3 caust = caustColor.xyz * IN.Color.a * Ambient.xyz;
  26.         float3 color = decalColor.xyz * IN.Color.xyz * Ambient.xyz;
  27.         float fLerp = dot(IN.Color1.xyz, DetMask0);
  28.         detColor0.xyz = lerp(0.5, detColor0.xyz, fLerp);
  29.         fLerp = dot(IN.Color1.xyz, DetMask1);
  30.         detColor1.xyz = lerp(0.5, detColor1.xyz, fLerp);
  31.         color.xyz = (color.xyz + caust.xyz) * 2;
  32.         color.xyz = color * detColor0.xyz + color * detColor0.xyz;
  33.         color.xyz = color * detColor1.xyz + color * detColor1.xyz;
  34.         OUT.Color.xyz = color.xyz;
  35.         OUT.Color.a = decalColor.a * Ambient.a;
  36.       }
  37.       
  38.  
  39.